/**
 * 新的结构化存储格式示例
 * 展示了优化后的 Redux Persist 存储结构
 */

/**
 * 标签页列表的结构化存储格式
 * 包含数据类型、内容和时间戳信息
 */
export const tagListStorageExample = {
  dataType: 'array' as const,
  content: [
    {
      key: 'dashboard',
      title: '仪表盘',
      path: '/dashboard',
      closable: false,
      affix: true,
      component: 'Dashboard'
    },
    {
      key: 'system-users',
      title: '用户管理',
      path: '/system/users',
      closable: true,
      affix: false,
      component: 'UserManagement'
    },
    {
      key: 'system-roles',
      title: '角色管理',
      path: '/system/roles',
      closable: true,
      affix: false,
      component: 'Roles'
    }
  ],
  datetime: 1758524547042
}

/**
 * 当前激活标签页的结构化存储格式
 * 包含数据类型、内容和时间戳信息
 */
export const tagStorageExample = {
  dataType: 'string' as const,
  content: 'system-users',
  datetime: 1758524547042
}

/**
 * 完整的菜单状态存储示例
 * 展示了在 localStorage 中的实际存储格式
 */
export const menuStorageExample = {
  // 标签页列表 - 结构化存储
  tagList: tagListStorageExample,
  
  // 当前激活标签页 - 结构化存储
  tag: tagStorageExample,
  
  // Redux Persist 元数据
  _persist: {
    version: -1,
    rehydrated: true
  }
}

/**
 * 格式化后的 localStorage 存储效果
 * 键名：persist:core-menu
 * 值：如下格式化的 JSON 字符串
 */
export const formattedStorageOutput = `{
  "tagList": {
    "dataType": "array",
    "content": [
      {
        "key": "dashboard",
        "title": "仪表盘",
        "path": "/dashboard",
        "closable": false,
        "affix": true,
        "component": "Dashboard"
      },
      {
        "key": "system-users",
        "title": "用户管理",
        "path": "/system/users",
        "closable": true,
        "affix": false,
        "component": "UserManagement"
      }
    ],
    "datetime": 1758524547042
  },
  "tag": {
    "dataType": "string",
    "content": "system-users",
    "datetime": 1758524547042
  },
  "_persist": {
    "version": -1,
    "rehydrated": true
  }
}`

/**
 * 对比旧的存储格式
 * 旧格式包含大量转义字符，难以阅读
 */
export const oldStorageFormat = `{"tagList":"[{\\"key\\":\\"dashboard\\",\\"title\\":\\"仪表盘\\",\\"path\\":\\"/dashboard\\",\\"closable\\":false,\\"affix\\":true,\\"component\\":\\"Dashboard\\"}]","tag":"\\"system-users\\"","_persist":"{\\"version\\":-1,\\"rehydrated\\":true}"}`

/**
 * 新格式的优势
 * 1. 结构化数据：包含 dataType、content、datetime 元数据
 * 2. 易于阅读：格式化的 JSON，减少转义字符
 * 3. 时间戳追踪：每次更新都会记录时间戳
 * 4. 类型安全：明确的数据类型标识
 * 5. 扩展性：可以轻松添加更多元数据
 */
